const express = require('express');
const mysql = require('mysql2');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
const port = 3000;

// 中间件
app.use(cors());
app.use(bodyParser.json());

// 创建MySQL连接
const db = mysql.createConnection({
  host: 'localhost',    // 数据库地址
  user: 'root',// 数据库用户名
  password: 'root', // 数据库密码
  database: 'members_db'  // 数据库名称
});

// 连接数据库
db.connect(err => {
  if (err) {
    console.error('Database connection failed: ', err);
    return;
  }
  console.log('Connected to MySQL database.');
});

// 增
app.post('/add', (req, res) => {
  const data = req.body;
  const sql = 'INSERT INTO tb_member SET ?';
  db.query(sql, data, (err, result) => {
    if (err) return res.status(500).json(err);
    res.status(200).json({ id: result.insertId });
  });
});

// 删
app.delete('/delete/:id', (req, res) => {
  const sql = 'DELETE FROM tb_member WHERE id = ?';
  db.query(sql, req.params.id, (err, result) => {
    if (err) return res.status(500).json(err);
    res.status(200).json({ affectedRows: result.affectedRows });
  });
});

// 改
app.put('/update/:id', (req, res) => {
  const sql = 'UPDATE tb_member SET ? WHERE id = ?';
  db.query(sql, [req.body, req.params.id], (err, result) => {
    if (err) return res.status(500).json(err);
    res.status(200).json({ affectedRows: result.affectedRows });
  });
});

// 查
app.get('/get/:id', (req, res) => {
  const sql = 'SELECT * FROM tb_member WHERE id = ?';
  db.query(sql, req.params.id, (err, result) => {
 if (err) return res.status(500).json(err);
    res.status(200).json(result[0]);
  });
});

// 查询所有
app.get('/getAll', (req, res) => {
  const sql = 'SELECT * FROM tb_member';
  db.query(sql, (err, results) => {
    if (err) return res.status(500).json(err);
    res.status(200).json(results);
  });
});

// 启动服务器
app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});
